# Liste des objets codés comme des dictionnaires
OBJETS = [{'couleur':"Vert",'valeur':4,'masse':12}, {'couleur':"Bleu",'valeur':2,'masse':2},
          {'couleur':"Gris",'valeur':2,'masse':1}, {'couleur':"Orange",'valeur':1,'masse':1},
          {'couleur':"Jaune",'valeur':10,'masse':4}]
CAPACITE_SAC = 15

# Programmer votre algorithme ici
def sac_a_dos(capacite:int, objets:list(dict)) -> list:
    """
    Renvoi la liste des objets contenus dans un sac à dos dont la capacité
    (en masse) est donnée en argument en essayant de maximiser la valeur par une
    méthode gloutonne. La liste d'objets est constituée de dictionnaires
    représentant chaque objets :
       {'couleur': str représentant la couleur,
        'valeur': nombre représentant la valeur de l'objet
        'masse' : nombre représentant la masse de l'objet}
    La liste renvoyée est de même constituée des objets tirés de la liste
    'objets' et peut contenir plusieurs fois le même objet.
    """
    # TODO






# Affichage du contenu du sac
contenu = sac_a_dos(CAPACITE_SAC, OBJETS)
print("Masse\t| Contenu du sac :")
masse = 0
valeur = 0
for objet in contenu:
    masse += objet['masse']
    valeur += objet['valeur']
    print(str(masse) + "\t| " + objet['couleur'])
print("Valeur totale dans le sac à dos :", valeur)
